package com.yfqy.app.enums;

import lombok.Getter;

@Getter
public enum OrderStatus {
    //待付款
    PENDING_PAYMENT((byte) 0),
    //已付款，待发货
    PAID((byte) 1),
    //支付超时
    PAY_TIMEOUT((byte) 2),
    //已发货
    SHIPPED((byte) 3),
    //已完成
    COMPLETED((byte) 4),
    //已取消
    CANCELLED((byte) 5),
    //申请退款
    APPLY_REFUND((byte) 6),
    //部分退款
    PART_REFUNDED((byte) 7),
    //全部退款
    ALL_REFUNDED((byte) 8),
    //已评价
    REVIEWED((byte) 9),
    //商品已出库
    OUTBOUND((byte) 10),
    //支付失败
    PAY_FAIL((byte) 11),
    ;

    private final Byte status;

    OrderStatus(Byte status) {
        this.status = status;
    }

    public static OrderStatus of(byte status) {
        for (OrderStatus orderStatus : values()) {
            if (orderStatus.getStatus() == status) {
                return orderStatus;
            }
        }
        return null;
    }
}
